<?php
//CanPHP框架默认配置
class cpConfig
{
static public $config = array();	

//加载默认配置
private function _load()
{
	/********应用-基本配置********/
	self::$config['APP']['DEBUG']			= TRUE;				//是否开启调试模式，true开启，false关闭
	self::$config['APP']['LOG_ON']			= TRUE;				//是否开启出错信息保存到文件，true开启，false不开启
	self::$config['APP']['LOG_PATH']		= './data/log/';	//出错信息存放的目录，出错信息以天为单位存放，一般不需要修改
	self::$config['APP']['ERROR_URL']		= '';				//出错信息重定向页面，为空采用默认的出错页面，一般不需要修改
	self::$config['APP']['ERROR_HANDLE']	= TRUE;				//PHP的错误控制
	
	/********应用-URL配置********/
	self::$config['APP']['URL_MODE']		= 2;				//1=pathinfo;2=原生;
	self::$config['APP']['MODULE_KEYWORD']	= "m";				//模板关键字
	self::$config['APP']['ACTION_KEYWORD']	= "a";				//动作关键字
	self::$config['APP']['URL_REWRITE_ON']	= FALSE;			//是否开启重写，true开启重写,false关闭重写
	self::$config['APP']['URL_MODULE_DEPR']	= '/';				//是否开启重写，true开启重写,false关闭重写
	self::$config['APP']['URL_ACTION_DEPR']	= '-';				//模块分隔符，一般不需要修改
	self::$config['APP']['URL_PARAM_DEPR']	= '-';				//操作分隔符，一般不需要修改
	self::$config['APP']['URL_HTML_SUFFIX']	= '.html';			//伪静态后缀设置，例如 .html ，一般不需要修改
	
	/********应用-模块配置********/
	self::$config['APP']['MODULE_PATH']		= './module/';		//模块存放目录，一般不需要修改
	self::$config['APP']['MODULE_SUFFIX']	= 'Mod.class.php';	//模块后缀，一般不需要修改
	self::$config['APP']['MODULE_INIT']		= 'init.php';		//初始程序，一般不需要修改
	self::$config['APP']['MODULE_DEFAULT']	= 'index';			//默认模块，一般不需要修改
	self::$config['APP']['MODULE_EMPTY']	= 'empty';			//空模块，一般不需要修改	
	self::$config['APP']['ACTION_DEFAULT']	= 'index';			//默认操作，一般不需要修改
	self::$config['APP']['ACTION_EMPTY']	= '_empty';			//空模块，一般不需要修改
	
	/********应用-模型配置********/
	self::$config['APP']['MODEL_PATH']		= './model/';		//模型存放目录，一般不需要修改
	self::$config['APP']['MODEL_SUFFIX']	= 'Model.class.php';//模型后缀，一般不需要修改
	
	/********应用-静态化配置********/
	self::$config['APP']['HTML_CACHE_ON']		=	FALSE;				//是否开启静态页面缓存，true开启.false关闭
	self::$config['APP']['HTML_CACHE_PATH']		=	'./data/html_cache/';	//静态页面缓存目录，一般不需要修改
	self::$config['APP']['HTML_CACHE_SUFFIX']	=	'.html';				//静态页面缓存后缀，一般不需要修改
	self::$config['APP']['HTML_CACHE_RULE']		=	array(
														'index'	=>	array('index'=>1000,),//缓存时间,单位：秒
													);//静态页面缓存规则 array('模块名'=>array('方法名'=>缓存时间,))
	
	/********数据库-连接配置********/
	self::$config['DB']['DB_TYPE']		= 'mysql';			//数据库类型，一般不需要修改
	self::$config['DB']['DB_HOST']		= 'localhost';		//数据库主机，一般不需要修改
	self::$config['DB']['DB_USER']		= 'root';			//数据库用户名
	self::$config['DB']['DB_PWD']		= '';				//数据库密码
	self::$config['DB']['DB_PORT']		= 3306;				//数据库端口，mysql默认是3306，一般不需要修改
	self::$config['DB']['DB_NAME']		= 'cp';				//数据库名
	self::$config['DB']['DB_CHARSET']	= 'utf8';			//数据库编码，一般不需要修改
	self::$config['DB']['DB_PREFIX']	= 'cp_';			//数据库前缀
	self::$config['DB']['DB_PCONNECT']	= FALSE;			//true表示使用永久连接，false表示不适用永久连接，一般不使用永久连接
	
	/********数据库-缓存配置********/
	self::$config['DB']['DB_CACHE_ON']		= FALSE;				//数据库用户名
	self::$config['DB']['DB_CACHE_PATH']	= './data/db_cache/';	//数据库密码
	self::$config['DB']['DB_CACHE_TIME']	= 600;					//数据库端口，mysql默认是3306，一般不需要修改
	self::$config['DB']['DB_CACHE_CHECK']	= FALSE;				//数据库名
	self::$config['DB']['DB_CACHE_FILE']	= 'cachedata';			//数据库编码，一般不需要修改
	self::$config['DB']['DB_CACHE_SIZE']	= '15M';				//数据库前缀
	self::$config['DB']['DB_CACHE_FLOCK']	= TRUE;					//true表示使用永久连接，false表示不适用永久连接，一般不使用永久连接
	
	/********模板缓存配置********/
	self::$config['TPL']['TPL_TEMPLATE_PATH']	= './template/';		//模板目录，一般不需要修改
	self::$config['TPL']['TPL_TEMPLATE_SUFFIX']	= '.html';				//模板后缀，一般不需要修改
	self::$config['TPL']['TPL_CACHE_ON']		= './data/tpl_cache/';	//是否开启模板缓存，true开启,false不开启
	self::$config['TPL']['TPL_CACHE_PATH']		= '15M';				//模板缓存目录，一般不需要修改
	self::$config['TPL']['TPL_CACHE_SUFFIX']	= '.php';				//模板缓存后缀,一般不需要修改
}
	
	
	//获取默认配置
	static public function get($name='', $section=NULL)
	{
		//加载默认配置
		if ( !self::$config)
		{
			self::_load();
		}
		
		//指定section 直接返回
		if ($section)
		{
			if (isset ( self::$config[$section][$name] ))
			{
				return self::$config[$section][$name];
			}
			return FALSE;
		}
		
		//没有指定section,全局查找
		if(isset(self::$config[$name]))
		{
			return self::$config[$name];
		}
		else
		{
			$sections = array_keys(self::$config);
			if ($sections) foreach($sections as $section)
			{
				if (isset ( self::$config[$section][$name] ))
				{
					return self::$config[$section][$name];
				}
			}
			return FALSE;
		}
	}
	
	//设置参数
	static public function set($name, $value=array(), $section=NULL)
	{	
		//加载默认配置
		if ( !self::$config)
		{
			self::_load();
		}
		
		if (!$section)
		{
			self::$config[$name] = $value;
		}
		else
		{
			self::$config[$section][$name] = $value;
		}
		return TRUE;
	}
}
?>